package com.ruoyi.aftersale.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.utils.vo.PoCommon;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 维修预约对象 dms_repair_reservation
 * 
 * @author liuchuanfa
 * @date 2024-03-13
 */
public class DmsRepairReservation extends PoCommon
{
    private static final long serialVersionUID = 1L;

    /** 预约单号 */
    @Excel(name = "预约单号")
    private String reservationNo;

    /** 预约状态(1预约成功,2客户到店,3服务结束,4预约失败) */
    @Excel(name = "预约状态",readConverterExp = "1=预约成功,2=客户到店,3=服务结束,4=预约失败")
    private Integer states;

    /** 维修工单id */
    private Long roId;

    /** 经销商id */
    @Excel(name = "经销商id")
    private Long dealerId;

    /** 经销商名称 */
    @Excel(name = "经销商名称")
    private String dealerName;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String license;

    /** 服务项目（1保修、2维修） */
    @Excel(name = "服务项目", readConverterExp = "1=保修,2=维修")
    private Integer serviceType;

    /** 姓名 */
    @Excel(name = "姓名")
    private String username;

    /** 电话 */
    @Excel(name = "电话")
    private String phone;

    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reservationDate;

    /** VIN */
    @Excel(name = "VIN")
    private String vin;

    /** 是否二手车（1是,2不是） */
    @Excel(name = "是否二手车", readConverterExp = "1=是,2不是")
    private Integer isUsedCar;

    /** 审核人id */
    @Excel(name = "审核人id")
    private Long auditorId;

    /** 审核人名称 */
    @Excel(name = "审核人名称")
    private String auditorName;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditorTime;

    /** 审核人名称 */
    @Excel(name = "备注")
    private String remark;

    public void setReservationNo(String reservationNo) 
    {
        this.reservationNo = reservationNo;
    }

    public String getReservationNo() 
    {
        return reservationNo;
    }
    public void setStates(Integer states) 
    {
        this.states = states;
    }

    public Integer getStates() 
    {
        return states;
    }
    public void setRoId(Long roId) 
    {
        this.roId = roId;
    }

    public Long getRoId() 
    {
        return roId;
    }
    public void setDealerId(Long dealerId) 
    {
        this.dealerId = dealerId;
    }

    public Long getDealerId() 
    {
        return dealerId;
    }
    public void setDealerName(String dealerName) 
    {
        this.dealerName = dealerName;
    }

    public String getDealerName() 
    {
        return dealerName;
    }
    public void setLicense(String license) 
    {
        this.license = license;
    }

    public String getLicense() 
    {
        return license;
    }
    public void setServiceType(Integer serviceType) 
    {
        this.serviceType = serviceType;
    }

    public Integer getServiceType() 
    {
        return serviceType;
    }
    public void setUsername(String username) 
    {
        this.username = username;
    }

    public String getUsername() 
    {
        return username;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setReservationDate(Date reservationDate) 
    {
        this.reservationDate = reservationDate;
    }

    public Date getReservationDate() 
    {
        return reservationDate;
    }
    public void setVIN(String VIN) 
    {
        this.vin = VIN;
    }

    public String getVIN() 
    {
        return vin;
    }
    public void setIsUsedCar(Integer isUsedCar) 
    {
        this.isUsedCar = isUsedCar;
    }

    public Integer getIsUsedCar() 
    {
        return isUsedCar;
    }
    public void setAuditorId(Long auditorId) 
    {
        this.auditorId = auditorId;
    }

    public Long getAuditorId() 
    {
        return auditorId;
    }
    public void setAuditorName(String auditorName) 
    {
        this.auditorName = auditorName;
    }

    public String getAuditorName() 
    {
        return auditorName;
    }
    public void setAuditorTime(Date auditorTime) 
    {
        this.auditorTime = auditorTime;
    }

    public Date getAuditorTime() 
    {
        return auditorTime;
    }

    public String getRemark() {return remark;}

    public void setRemark(String remark) {this.remark = remark;}

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("reservationNo", getReservationNo())
            .append("states", getStates())
            .append("roId", getRoId())
            .append("dealerId", getDealerId())
            .append("dealerName", getDealerName())
            .append("license", getLicense())
            .append("serviceType", getServiceType())
            .append("username", getUsername())
            .append("phone", getPhone())
            .append("reservationDate", getReservationDate())
            .append("VIN", getVIN())
            .append("isUsedCar", getIsUsedCar())
            .append("remark", getRemark())
            .append("auditorId", getAuditorId())
            .append("auditorName", getAuditorName())
            .append("auditorTime", getAuditorTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("createUserName", getCreateUserName())
            .append("updateUserName", getUpdateUserName())
            .append("version", getVersion())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
